<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
use think\Request;
class User extends Controller
{
    //登陆页面渲染
    public function login()
    {
		if(SESSION('userid')){
            return $this->error('您已登录，无需重复登录',url('index/index/index'));
         }
         return $this->fetch();
    }
    //找回密码
    public function findpass(){
        return $this->fetch();
    }
    //接收登陆账号密码
    public function loginPost(Request $loginMsg){
        if(captcha_check(request()->param("captcha")) === false){
            return $this->error('验证码填写错误！！');exit;
        }
        $post = $loginMsg->post();
        //对POST数据进行验证，定义一个验证规则
        if(Db('user')->where('job_number',$post['username'])->find()){
                //如果是真进行里面的操作
                $rows = Db('user')->where('job_number',$post['username'])->where('password',md5($post['password']))->find();
                //判断，如果返回有值，代表信息匹配成功执行里面的代码
                if($rows){
                    
                    session('userid', $rows['id']); //存储用户ID
                    session('name', $rows['name']); //存储用户ID
                    session('jobNumber', $rows['job_number']); //存储用户工号
                    session('role_id', $rows['role_id']); //存储用户角色ID

                    return $this->success('登录成功,正在跳转...',url('index/index/index'));
                }else{
                    return $this->error('密码错误');exit;
                }
        }else{
            return $this->error('用户不存在');exit;
        }  
    }
    //注销账号密码
    public function loginOutPost()
    {
        session('userid',NULL);
        session('name',NULL);
        session('jobNumber',NULL);
        session('roleid',NULL);
        $this->success('正在安全退出中...',url('index/User/login'));
    }
    //找回密码PSOT
    public function findpost(Request  $msg){
        if(captcha_check(request()->param("captcha")) === false){
            return $this->error('验证码填写错误！！');exit;
        }
        $post = $msg->post();
        //对POST数据进行验证，定义一个验证规则
        if(Db('user')->where('job_number',$post['username'])->find()){
            //如果是真进行里面的操作
            $rows = Db('user')->where('job_number',$post['username'])->where('name',$post['name'])->find();
            //判断，如果返回有值，代表信息匹配成功执行里面的代码
            if($rows){
                //
                Db('user')
                    ->where([
                        'job_number' => $post['username']
                    ])
                    ->update([
                        'password' => md5($post['password'])
                ]);
                return $this->success('修改成功,正在跳转...');
            }else{
                return $this->error('绑定姓名填写错误');exit;
            }
        }else{
            return $this->error('用户不存在');exit;
        }
    }
}
